<?php

	class Telefono
	{
		var $tel_casa="";
		var $tel_trabajo="";
		var $tel_cel="";
		
	
		/*funciones para guardar y almacenar de la BD*/
		
		function insertar(){
			if(!$this->vacio())
				new Conexion("INSERT INTO telefonos VALUES('".$this->getIdPropietario()."','".$this->getIdTabla()."',
								'".$this->getTelefonoCasa()."','".$this->getTelefonoTrabajo()."','".$this->getTelefonoCel()."');");
		}
		
		function editar($telcasa,$teltra,$telcel){
			$con=  new Conexion();
			#preguntar si ya existe
			$con->ejecutar("SELECT * FROM telefonos WHERE id_propietario='".$this->getIdPropietario()."' and tabla='".$this->getIdTabla()."'; ");
			
			if(!$con->vacio())
			{
				if($this->vacio())
				{#eliminarlo
					$this->eliminar();
				}
				else
				{#editarlo
					$this->editarTelefonoCasa($telcasa);
					$this->editarTelefonoTrabajo($teltra);
					$this->editarTelefonoCel($telcel);
				}
			}			
			else
			{
				$this->setTelefonoCasa($telcasa);
				$this->setTelefonoTrabajo($teltra);
				$this->setTelefonoCel($telcel);
				$this->insertar();
			}
		}
		
		function eliminar(){
			new Conexion("DELETE FROM telefonos where id_propietario='".$this->getIdPropietario()."' and tabla='".$this->getIdTabla()."';");
		}
		
		function editarTelefonoCasa($e){
			if($e != $this->tel_casa)
			{
				$this->setTelefonoCasa($e);
				new Conexion("UPDATE telefonos set tel_casa='".$this->getTelefonoCasa()."' 
						  WHERE id_propietario='".$this->getIdPropietario()."' and tabla='".$this->getIdTabla()."';");
			}
		}
		function editarTelefonoTrabajo($e){
			if($e != $this->tel_trabajo)
			{
				$this->setTelefonoTrabajo($e);
				new Conexion("UPDATE telefonos set tel_trabajo='".$this->getTelefonoTrabajo()."' 
						  WHERE id_propietario='".$this->getIdPropietario()."' and tabla='".$this->getIdTabla()."';");
			}
		}
		function editarTelefonoCel($e){
			if($e != $this->tel_cel)
			{
				$this->setTelefonoCel($e);
				new Conexion("UPDATE telefonos set tel_cel='".$this->getTelefonoCel()."' 
						  WHERE id_propietario='".$this->getIdPropietario()."' and tabla='".$this->getIdTabla()."';");
			}
		}
		/*Utilitarias*/
		
		//vacio sobre $numero
		function vacio()
		{
			if( (!isset($this->tel_casa) || trim($this->tel_casa) == "")
				&& (!isset($this->tel_trabajo) || trim($this->tel_trabajo) == "")
				&& (!isset($this->tel_cel) || trim($this->tel_cel) == "")
			)
				return true;#no existe o es vacio
			else
				return false;
		}
		function toObjeto()
		{
			$o = array(
				"tel_casa"=> $this->getTelefonoCasa(),
				"tel_trabajo"=> $this->getTelefonoTrabajo(),
				"tel_cel"=> $this->getTelefonoCel()
			);
			return $o;
		}
		function toJson(){
			return json_encode($this->toObjeto());
		}
		function toString()
		{
			if( $this->casaToString())
				$q=$this->casaToString();
			
			if($this->trabajoToString())
			{
				if( $this->casaToString())
					$q.="<br>";
				$q.=$this->trabajoToString();
			}
			if($this->celToString())
			{
				if( $this->casaToString() || $this->trabajoToString())
					$q.="<br>";
				$q.=$this->celToString();
			}
			return ereg_replace('[[:space:]]+', ' ', trim($q));
		}
		
		/*funciones SET y GET*/
		#
		function setIdPropietario($_x){
			$this->id_prop=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);
		}
		function getIdPropietario(){
			return $this->id_prop;
		}
		#
		function setIdTabla($_x){
			$this->id_tabl=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);
		}
		function getIdTabla(){
			return $this->id_tabl;
		}
		#
		function setTelefonoCasa($_x){
			$this->tel_casa=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);
		}
		function getTelefonoCasa(){
			return $this->tel_casa;
		}
		function setTelefonoTrabajo($_x){
			$this->tel_trabajo=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);
		}
		function getTelefonoTrabajo(){
			return $this->tel_trabajo;
		}
		function setTelefonoCel($_x){
			$this->tel_cel=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);
		}
		function getTelefonoCel(){
			return $this->tel_cel;
		}
		function casaToString(){
			return ($this->getTelefonoCasa())? "Casa: ".$this->formato($this->getTelefonoCasa()) : false;
		}
		function trabajoToString(){
			return ($this->getTelefonoTrabajo())? "Trabajo: ".$this->formato($this->getTelefonoTrabajo()) : false;
		}
		function celToString(){
			return ($this->getTelefonoCel())? "Cel: ".$this->formato($this->getTelefonoCel()) : false;
		}
		
		function formato($a){
			return (strlen($a) == 10) ? "(".substr($a,0,3).") ".substr($a,3,3)."-".substr($a,6,4) : $a;
		}
	}
?>
